1. Field of the Invention
The present invention relates to a communication apparatus, a communication method and a program. In particular, the present invention relates to a communication apparatus, a communication method and a program that are capable of transmitting and receiving digitalized audio data and digitalized video data by adopting an ATM communication technology.
2. Description of the Related Art
FIG. 1 shows a typical configuration of the conventional data transmission system for transmitting data by way of an ATM (Asynchronous Transfer Mode) network 4.
In accordance with this conventional data transmission system, data can be exchanged without being affected by a delay introduced into the data of a transport stream transmitted by the way of the network 4. The introduced delay (hereinafter referred to as delay fluctuation) is in the typical range of 1 to 2 ms.
It is to be noted that the conventional data transmission system is disclosed in the Japanese Patent Laid-open No. 2000-358006.
A plurality of encoders 1 (in this case, four encoders, namely, the encoders 1-1 to 1-4) each encodes a predetermined program data to be transmitted (video data, audio data and so forth), in accordance with an MPEG-2 technique, and outputs the encoded data to a multiplexer 2.
The multiplexer 2 packetizes data received from the encoders 1-1 to 1-4 to generate transport packets.
FIG. 2 shows a typical configuration of a transport packet. The transport packet is a packet with a fixed length of 188 bytes and includes a header portion, an adaptation field portion and a payload portion.
In the header portion, there are described a synchronization byte (8 bits), an error display (1 bit), a unit start display (1 bit), a transport-packet priority (1 bit), a PID (Packet Identification) (13 bits), a scramble control (2 bits), an adaptation-field control (2 bits) and a cyclic counter (4 bits).
Typically, the synchronization byte is set at 47h.
The PID is stream identification information. As shown in FIG. 3, the PID shows attributes of an individual stream in a packet. For example, a PID having a value of 0×0000 indicates that the transport packet includes a PAT. The PAT (Program Association Table) is the PID of a PMT (Program Map Table) showing the PID of a transport packet for storing data of a program (video data, audio data and so forth). A PID having a value in the range 0×0010 to 0×1FFE indicates that the transport packet includes data of a program.
Referring back to FIG. 2, the adaptation field portion includes an adaptation-field length (8 bits), a discontinuity display (1 bit), a random access display (1 bit), a stream priority display (1 bit), a flag (5 bits), a program clock reference base (33 bits), a reserve (6 bits) and a program clock reference extension (9 bits). It is to be noted that the flag includes 5 kinds of flags including a PCR flag (1 bit).
The payload portion stores data.
Referring back to FIG. 1, the multiplexer 2 multiplexes generated transport packets to create a transport stream (in this case, a transport stream generated from transport packets of 4 channels) and outputs the stream to the transmission apparatus 3.
The multiplexer 2 includes a PCR (Program Clock Reference) value in a predetermined transport packet as a time stamp. The PCR value is a count value obtained as a result of counting the number of system clock Se pulses like ones shown in FIG. 4A with a timing to output the predetermined transport packet to the transmission apparatus 3. In the case of the MPEG-2 technique, the frequency of the system clock Se pulses is 27 MHz. A transport packet including such a PCR value is referred to hereafter as a PCR packet. It is to be noted that the transport stream transmitted to a reception apparatus 5 includes PCR packets created at intervals smaller than 0.1 second.
A PCR value is expressed as a combination of the value of the program clock reference base (33 bits) and the value of the program clock reference extension (9 bits) in the adaptation field portion (FIG. 2). That is, the PCR value has a length of 42 bits which is a sum total of the program clock reference base and the program clock reference extension and represents the counted number of 27-MHz system clock pulses is a time in a day (24 hours).
It is to be noted that in the program clock reference base, a value from 0 to 299 is set (counted) in sequentially. When the value of the program clock reference base is turned (reset) from 299 back to 0, the value of the program clock reference extension is incremented by 1.
As shown in FIG. 2, the adaptation-field control of 10 or 11 is described in the header portion of a PCR packet. In the adaptation field, an adaptation-field length having a value greater than 00h is described and a PCR flag is set at 1.
The transmission apparatus 3 converts a transport stream received from the multiplexer 2 into ATM cells and transmits the cells to the reception apparatus 5 via a network 4. At that time, the transmission apparatus 3 expresses a PCR packet's timing of arrival at the transmission apparatus 3 from the multiplexer 2 by a count value obtained as a result of counting the number of clock Ns pulses (27 MHz) of the transmission apparatus 3, which are synchronous with network clock pulses (8 KHz) of the network 4. Then, the transmission apparatus 3 computes a difference in phase (phase-difference information) between the system clock signal Se (27 MHz) of the multiplexer 2 and the clock signal Ns on the basis of the count value of clock pulses Ns and the PCR value of the PCR packet. The transmission apparatus 3 records the difference in phase in the PCR packet as synchronization information.
The transmission apparatus 3 computes synchronization information for each PID (FIG. 3) to manage synchronization information. In the case of this example, since up to 8,192 programs can be transmitted, synchronization information is processed for each of the programs.
The reception apparatus 5 receives the transport stream transmitted through the network 4 and supplies the stream to a set top box (IRD (Integrated Receiver)) 6.
At that time, the reception apparatus 5 expresses a PCR packet's timing of output from the transmission apparatus 3 (timing of arrival at the reception apparatus 5) by a count value obtained as a result of counting the number of clock Nr pulses (27 MHz), which are synchronous with network clock pulses of the network 4. The reception apparatus 5 generates a new PCR value required for synchronizing a system clock signal Sd of the set top box 6 (decoding side) with the system clock signal Se on the basis of the count value of clock Nr pulses and the phase-difference information which has been recorded in the PCR packet as synchronization information (difference in phase between the system clock signal Se and the clock signal Ns). The reception apparatus 5 records the newly generated PCR value as a substitute for a PCR value included in the PCR packet from the beginning.
Much like the synchronization information computation processing carried out by transmission apparatus 3, the reception apparatus 5 carries out above-described PCR value renewal processing for each PID. In this case, the PCR value renewal processing is carried out for each of the 8,192 programs at the maximum.
The set top box 6 fetches the PCR value (newly stored PCR value) from the PCR packet. The set top box 6 adjusts the phase of the system clock signal Sd on the basis of the PCR value to establish synchronization of the system clock signal Sd with the system clock signal Se on the encoding side.
The set top box 6 uses the system clock signal Sd synchronized with the system clock signal Se to decode data of a channel selected by the user among data received from the reception apparatus 5.
The data decoded by the set top box 6 is typically output to the monitor 7 to be displayed thereon.
As described above, the transmission apparatus 3 generates the phase-difference information between the PCR value (count value of system clock pulses Se) and the clock signal Ns synchronous with the network clock pulses of the network 4 on the basis of the PCR value and the count value. The reception apparatus 5 generates a new PCR value on the basis of the phase-difference information and a count value obtained as a result of counting the number of clock pulses Nr synchronous with the PCR value of a PCR packet (count value of system clock pulses Se) and the clock pulses Ns, (synchronous with the network clock pulses of the network 4). The PCR value already recorded in the PCR packet is a count value obtained as a result of counting the number of system clock pulses Se. Thus, on the decoding side, it is possible to generate a system clock signal Sd synchronous with the system clock signal Se of the encoding side without being affected by delay fluctuations introduced in the course of the data transmission. As a result, the transport stream transmitted by way of the network 4 can be reproduced properly.
By the way, in the embodiment shown in FIG. 1, the transmission apparatus 3 and the reception apparatus 5 are connected to a network 4, and use a network clock signal of the network 4. Thus, the clock signal Ns of the transmission apparatus 3 and the clock signal Nr of the reception apparatus 5 can be synchronized with each other.
As shown in FIG. 5 for example, however, the transmission apparatus 3 and the reception apparatus 5 are connected to respectively networks 4-1 and 4-2, which are different from each other. In this case, if the networks 4-1 and 4-2 use different network clock signals, normally, these clock signals are not synchronized with the other. Consequently, clock signals Nr and Ns cannot be synchronized with the other. As a result, with the method described above, it is impossible to absorb delay fluctuations introduced in the course of data transmission through the networks 4-1 and 4-2.
Thus, in this case, a difference between a new PCR value generated in the reception apparatus 5 as described above and the original PCR value (count value of the system clock pulses Se) is cumulated with the lapse of time, increasing the shift quantity of data stored in a multiplexed buffer (VBV) (not shown) employed in the set top box 6. When the shift quantity exceeds a predetermined value, the multiplexing buffer VBV fails.
In accordance with ITUT G.811, the precision of the network clock signal is 1E-11, which is the same as the precision of a cesium atomic oscillator. Assume that, with the shift relative to the original PCR value becoming equal to 1 ms, the multiplexing buffer fails. In this case, an equation given below provides a computation result of 5E7 seconds, which mean that the multiplexing buffer fails at least once in about 1.5 years.(1+1E−11)/(1−1E−1)=2E−112E−3/2E−11=5E7
As is obvious from the above description, in the conventional system wherein the transmission apparatus 3 and the reception apparatus 5 are connected to respectively the networks 4-1 and 4-2 having network clock signals not synchronous with each other, a transmitted transport stream cannot be reproduced correctly.
In addition, as shown in FIG. 6, if multiplexing is carried out repeatedly by a plurality of multiplexers 2 (in this case, three multiplexers 2-1 to 2-3) using system clock signals Se asynchronous with each other, PCR jitters are generated.
The multiplexer 2-1 adds PCR values to a transport stream received from the encoder 1. In other words, this addition means conversion of a clock signal A of the encoder 1 into a system clock signal Se-1 of the multiplexer 2-1. As a result, for example, clock pulses “a” in the clock signal “a” counted with timings shown in FIG. 7A is counted with timings, as shown in FIG. 7B, shifted from the timings in the clock signal a by 0.5 clock pulses in the left direction (in the lagging direction along the time axis) in the system clock signal Se-1. Since the PCR value is an integer, PCR jitters of 0.5 clock pulses are generated in this case.
In addition, the system clock signal Se-1 of the multiplexer 2-1 is converted into a system clock signal Se-2 of the multiplexer 2-2 so that, the number of clock pulses “a” in the system clock signal Se-2 signal is counted with timings further shifted by 0.2 clock pulses in the left direction as shown in FIG. 7C. Moreover, the system clock signal Se-2 of the multiplexer 2-2 is converted into a system clock signal Se-3 of the multiplexer 2-3 so that, the number of clock pulses “a” in the system clock signal Se-3 signal is counted with timings further shifted by 0.3 clock pulses in the left direction as shown in FIG. 7D.
As a result, in the example shown in FIG. 7, the timing to count the number of clock pulses “a” is shifted in the left direction by 1 clock pulse so that jitters of 1 clock pulse are generated.
As described above, if multiplexing is carried out repeatedly by a plurality of asynchronous multiplexers 2, PCR jitters are generated. Thus, the multiplexing buffer fails. As a result, the transmitted transport stream cannot be reproduced correctly.
See, for example, Japanese Patent Laid-open No. 2000-358006.
As described above, in the conventional network system, there is raised a problem that a transmitted transport stream cannot be reproduced correctly.